<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基本声明</title>
</head>
<body>
    
</body>
</html>

<script>
    //基本声明
    //使用字面量的形式声明对象
    // let obj = {
    //     name : '后盾人',
    //     get:function(){
    //         return this.name;
    //     }
    // };
    // console.log(obj.get());

    //属性与方法的简写
    // let name = '后盾人';
    // let obj = {
    //     name,
    //     get(){
    //         return this.name;
    //     }
    // };
    // console.log(obj.get());


    //使用字面量创建的对象   其实也是使用  new Object()来创建
    // let hd = {};
    // let houdunren = new Object();
    // console.log(hd,houdunren);
    // console.log(hd.constructor)
    // console.log(houdunren.constructor)

    
    //操作属性
    // let User = {
    //     name:'向军'
    // };
    //使用点语法来进行获取
    // console.log(User.name)

    //使用[]获取
    // console.log(User['name']);

    //可以看出   使用.语法操作是更加简单的，[]主要是通过变量定义属性的场景
    // let property = "name";
    // console.log(User[property])

    //如果属性名不是合法的变量就必须使用中括号的形式
    // let User = {};
    // User["my"] = 28;
    // // console.log(User["my-age"])
    // console.log(User.my)

    //对象的属性和方法可以动态的添加或者删除
    // const hd = {
    //     name : "后盾人"
    // };
    // //添加属性
    // hd.age = "10";
    // //添加方法
    // hd.show = function(){
    //     return `${this.name}已经${this.age}岁了`;
    // }
    // console.log(hd.show());
    // console.log(hd)

    // //删除属性
    // delete hd.show;
    // delete hd.age;

    // console.log(hd)
    // console.log(hd.name)




</script>